home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 18
/
CU Amiga Magazine's Super CD-ROM 18 (1997)(EMAP Images)(GB)[!][issue 1998-01].iso
/
CUCD
/
Programming
/
AmigaE
/
Src
/
Tools
/
AmigaLib
/
ports.e
< prev
next >
Wrap
Text File
|
1995-03-30
|
769b
|
38 lines
OPT MODULE
MODULE 'amigalib/lists',
'exec/lists',
'exec/memory',
'exec/nodes',
'exec/ports'
EXPORT PROC createPort(name, pri) HANDLE
DEF sigBit=-1, port=NIL:PTR TO mp
sigBit:=AllocSignal(-1)
port:=NewM(SIZEOF mp, MEMF_CLEAR OR MEMF_PUBLIC)
port.ln.name:=name
port.ln.pri:=pri
port.ln.type:=NT_MSGPORT
port.flags:=PA_SIGNAL
port.sigbit:=sigBit
port.sigtask:=FindTask(NIL)
IF name
AddPort(port)
ELSE
newList(port.msglist)
ENDIF
RETURN port
EXCEPT
IF port THEN Dispose(port)
IF sigBit<>-1 THEN FreeSignal(sigBit)
RETURN NIL
ENDPROC
EXPORT PROC deletePort(port:PTR TO mp)
IF port.ln.name THEN RemPort(port)
port.sigtask:=-1
port.msglist.head:=-1
FreeSignal(port.sigbit)
Dispose(port)
ENDPROC